package com.yincheng.oes.business.dao;

import com.yincheng.oes.business.model.entity.ExerciseCompletionDO;
import com.yincheng.oes.business.model.entity.StudentDailyClockDO;
import com.yincheng.oes.business.model.query.AuditDailyClockListReq;
import com.yincheng.oes.business.model.query.MyDailyClockListReq;
import com.yincheng.oes.business.model.query.TodayClockCheckReq;
import com.yincheng.oes.sso.entity.User;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author yangsiyong
 * @version 1.0
 * @description: 每日打开相关的dao
 * @date 2022/2/13 8:18 PM
 */
@Repository
public interface DailyClockDao {

    int saveDailyClock(StudentDailyClockDO studentDailyClock);

    int batchSaveExerciseCompletion(List<ExerciseCompletionDO> exerciseCompletions);

    int countMyDailyClockList(MyDailyClockListReq param);

    List<StudentDailyClockDO> selectMyDailyClockList(MyDailyClockListReq param);

    int countTodayClock(TodayClockCheckReq param);

    StudentDailyClockDO selectByUserId(TodayClockCheckReq param);

    List<ExerciseCompletionDO> selectExerciseCompletionById(String dailyClockId);

    int batchDeleteExerciseCompletions(String dailyClockId);

    int deleteDailyClock(String dailyClockId);

    int countAuditDailyClockList(AuditDailyClockListReq param);

    List<StudentDailyClockDO> selectAuditDailyClockList(AuditDailyClockListReq param);

    List<User> selectUsersByAssistantId(String userId);

    StudentDailyClockDO selectAuditDailyClock(String dailyClockId);

    int updateDailyTask(StudentDailyClockDO studentDailyClock);

    List<User> selectDailyClockUsers();
}
